if 0:
    from repositories.sigecon.consulta import TipoConsultaRepository as tipos
    from repositories.sigecon.consulta import SubtipoConsultaRepository as subtipos
    from repositories.sigecon.consulta import RespuestaRepository as respuestas
    from repositories.sigecon.usuario import SectorRepository as sectores    
    from repositories.comunes.tipodocumento import TipoDocumentoRepository as tipos_doc
    from repositories.comunes.domicilio import LocalidadRepository as localidades
    from repositories.comunes.domicilio import BarrioRepository as barrios


def select_tipo_documento_por_condicion(idCondicion):
    opciones = [OPTION(T('choose one'), _value = "", _select = "selected")]
    if idCondicion == "1":
        tipos = tipos_doc.findAll()
        for tipo in tipos:
            opciones.append(OPTION(tipo.codigo, _value = tipo.ID))
    return DIV(SELECT(opciones, _name = "tipo_documento", _id = "no_table_tipo_documento", _onchange = "ajax('" + URL(r=request, f='subconsultas_por_consulta') + "', ['consulta'], 'div_no_table_subconsulta__row');ajax('" + URL(r=request, f='respuestas_por_subconsulta') + "', ['subconsulta'], 'div_no_table_respuesta__row'); ajax('" + URL(r=request, f='sectores_por_respuesta') + "', ['respuesta'], 'div_no_table_sector__row')"), _div = "div_no_table_tipo_documento__row")
  
def select_consultas_por_condicion(idCondicion):
    consultas = tipos.findByCondicionConsultante(idCondicion)
    opciones = [OPTION(T('choose one'), _value = "", _select = "selected")]
    for consulta in consultas:
        opciones.append(OPTION(consulta.descripcion, _value = consulta.ID))                                           
    return DIV(SELECT(opciones, _name = "consulta", _id = "no_table_consulta", _onchange = "ajax('" + URL(r = request, f = 'subconsultas_por_consulta') + "', ['consulta'], 'div_no_table_subconsulta__row');ajax('" + URL(r = request, f = 'respuestas_por_subconsulta') + "', ['subconsulta'], 'div_no_table_respuesta__row'); ajax('" + URL( r = request, f = 'sectores_por_respuesta') + "', ['respuesta'], 'div_no_table_sector__row')"), _div = "div_no_table_consulta__row")
  
def select_subconsultas_por_consulta(idConsulta):
    subconsultas = subtipos.findBytipoConsulta(idConsulta)
    opciones = [OPTION(T('choose one'), _value = "", _select = "selected")]
    for subconsulta in subconsultas:
        opciones.append(OPTION(subconsulta.descripcion, _value = subconsulta.ID))
    return DIV(SELECT(opciones, _name = "subconsulta", _id = "no_table_subconsulta", _onchange = "ajax('" + URL(r=request, f='respuestas_por_subconsulta') + "', ['subconsulta'], 'div_no_table_respuesta__row');ajax('" + URL(r = request, f='sectores_por_respuesta') + "', ['respuesta'], 'div_no_table_sector__row')"), _div = "div_no_table_subconsulta__row")

def select_respuestas_por_subconsulta(idSubconsulta):
    opciones = [OPTION(T('choose one'), _value = "", _select = "selected")]
    if idSubconsulta != "":
        resp = respuestas.findAll()
        for respuesta in resp:
            opciones.append(OPTION(respuesta.descripcion, _value = respuesta.ID))
    return DIV(SELECT(opciones, _name = "respuesta", _id = "no_table_respuesta", _onchange = "ajax('" + URL(r=request, f='sectores_por_respuesta') + "', ['respuesta'], 'div_no_table_sector__row')"), _div = "div_no_table_respuesta__row")

def select_sectores_por_respuesta(idRespuesta):
    opciones = [OPTION(T('choose one'), _value = "", _select = "selected")]
    if idRespuesta == "3":
        sec = sectores.findAll()
        for sector in sec:
            if sector.admite_derivacion == True and sector.ID != auth.get_user().sector.ID:
                opciones.append(OPTION(sector.descripcion, _value = sector.ID))
    return DIV(SELECT(opciones, _name = "sector", _id = "no_table_sector"), _div = "div_no_table_sector__row")


def select_localidades_por_provincia(idProvincia):
    localidades_res = localidades.findAllByProvincia(idProvincia)
    opciones = [OPTION(T('choose one'), _value = "", _select = "selected")]
    for localidad in localidades_res:
        opciones.append(OPTION(localidad.nombre, _value = localidad.ID))
    return DIV(SELECT(opciones, _name = "localidad", _id = "no_table_localidad", _onchange = "ajax('" + URL(r=request, f='barrios_por_localidad') + "', ['localidad'], 'div_no_table_barrio__row')"), _id = "div_no_table_localidad__row")

def select_barrios_por_localidad(idLocalidad):    
    opciones = [OPTION(T('choose one'), _value = "", _select = "selected")]
    localidad = localidades.findOne(idLocalidad)
    if localidad and "Capital" in localidad.nombre:
        barrios_res = barrios.findAll()
        for barrio in barrios_res:
            opciones.append(OPTION(barrio.nombre, _value = barrio.ID))
    return DIV(SELECT(opciones, _name = "barrio", _id="no_table_barrio"), _div = "div_no_table_barrio__row")
  